<html>
<head>
  <title>Cling</title>
  <script data-main="scripts/cling" src="scripts/require.js"></script>
  <link rel="stylesheet" href="style/import.css">
</head>
<body onload="selectMenu('use')">
  <iframe seamless src="header.html" class="header" id="iheader"></iframe>
  <div id="breadcrumb"></div>
    <div id="content">
      <div id="main">
        <h2>Grammar</h2>
        <p>Cling is able to parse everything that clang can. Current clang status can be found <a href="http://clang.llvm.org/cxx_status.html">here</a>. At the moment, there are use cases only for C++ that's why cling is best in working with C++. Clang has support of C, objC, objC++ and we are looking forward to having more use-cases and extend our tool in that direction.</p>
          <ul>Cling has internal commands, which can change its behavior at runtime. Those commands usually start with dot (.):
            <li><b>.I &lt;path&gt;</b> - Adds an include path;</li>
            <li><b>.x &lt;filename&gt;</b> - #include-s the filename; and calls function called filename(); </li>
            <li><b>.L &lt;libname&gt;</b> - Loads libname or #include-s the libname if libname is file;</li>
            <li><b>.@</b> - Cancels the multiline input;</li>
            <li><b>.printAST</b> - (DEBUG ONLY) Turns on the printing of the compiler's abstract syntax tree (AST);</li>
            <li><b>.dynamicExtensions</b> - Turns on cling's dynamic extensions. This in turn enables the dynamic lookup and the late resolving of the identifier. With that option cling tries to heal the compile-time failed lookups at runtime;</li>
          </ul>

        <h2>Details</h2>
        <h3>Command line</h3>
        <p>
          The interactive prompt supports an emacs-like command line editor, just like bash terminal, which makes it easy to integrate and use. Cling uses TextInput and doesn't depend on ncurses.
        </p>
        <p>
          Autocompletion should be coming soon!
        </p>

      </div>
    </div>
<iframe seamless class="footer" src="footer.html"></iframe>
</body>
</html>
